﻿using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Services;
using BLL;

namespace WebService_RentaCar
{
    /// <summary>
    /// Descripción breve de WebServiceMarcas
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // Para permitir que se llame a este servicio web desde un script, usando ASP.NET AJAX, quite la marca de comentario de la línea siguiente. 
    // [System.Web.Script.Services.ScriptService]
    public class WebServiceMarcas : System.Web.Services.WebService
    {

        [WebMethod]
        public DataSet devolverMarcas()
        {
            //devuelve marcas
            getValuesWS objgetValuesWS = new getValuesWS();
            return objgetValuesWS.listaMarcas();


        }

        [WebMethod]
        public string insertarMarcas(string marca)
        {

            getValuesWS objgetValuesWS = new getValuesWS();
            objgetValuesWS.marca = marca;


            return objgetValuesWS.ingresarMarcas();

        }

        [WebMethod]
        public string actualizarMarcas(int codigoMarca,string marca)
        {

            getValuesWS objgetValuesWS = new getValuesWS();
            
            objgetValuesWS.codigoMarca = codigoMarca;
            objgetValuesWS.marca = marca;


            return objgetValuesWS.actualizaMarcas();

        }

        [WebMethod]
        public string eliminarMarcas(int codigoMarca)
        {

            getValuesWS objgetValuesWS = new getValuesWS();
            objgetValuesWS.codigoMarca = codigoMarca;



            return objgetValuesWS.eliminaMarcas();

        }


        [WebMethod]
        public DataSet editarMarcas(int codigoMarca)
        {

            getValuesWS objgetValuesWS = new getValuesWS();

            objgetValuesWS.codigoMarca = codigoMarca;
            return objgetValuesWS.editaMarcas();


        }

        // "Facade"
        private class getValuesWS
        {

            #region Propiedades
           
            public int codigoMarca { get; set; }
            public string marca { get; set; }

            public string estado { get; set; }
            #endregion

            public DataSet listaMarcas()
            {
                try
                {
                    MarcasC objMarcas = new MarcasC();
                    return objMarcas.cargarMarcasAutos();

                }
                catch (Exception)
                {
                    return null;
                }

            }

            public string ingresarMarcas()
            {
                try
                {

                    MarcasC objMarcas = new MarcasC();
                    objMarcas.marca = marca;


                    estado = objMarcas.insertarMarcasAutos();

                    return estado;

                }
                catch (Exception)
                {
                    return "Error no Controlado";
                }

            }

            public string actualizaMarcas()
            {
                try
                {

                    MarcasC objMarcas = new MarcasC();

                    objMarcas.codigoMarca = codigoMarca;
                    objMarcas.marca = marca;

                    estado = objMarcas.actualizarMarcasAutos();

                    return estado;

                }
                catch (Exception)
                {
                    return "Error no Controlado";
                }

            }

            public string eliminaMarcas()
            {
                try
                {
                    MarcasC objMarcas = new MarcasC();

                    objMarcas.codigoMarca = codigoMarca;
                    estado = objMarcas.eliminarMarcasAutos();

                    return estado;

                }
                catch (Exception)
                {
                    return "Error no Controlado";
                }

            }

            public DataSet editaMarcas()
            {
                try
                {
                    MarcasC objMarcas = new MarcasC();

                    objMarcas.codigoMarca = codigoMarca;
                    return objMarcas.editarMarcasAutos();

                }
                catch (Exception)
                {
                    return null;
                }

            }
        }
    }
}
